export function setStorageItem(name, value) {
    sessionStorage.setItem(name, value)
}

export function getStorageItem(name) {
    return sessionStorage.getItem(name)
}

export function deepClone(data) {
    let result
    if (typeof data === 'object') {
        if (Array.isArray(data)) {
            result = [] // 将result赋值为一个数组，并且执行遍历
            for (let i = 0; i < data.length; i++) {
                // 递归克隆数组中的每一项
                result.push(deepClone(data[i]))

            }
            // 判断如果当前的值是null的话；直接赋值为null
        } else if (data === null) {
            result = null
            // 判断如果当前的值是一个RegExp对象的话，直接赋值
        } else if (data.constructor === RegExp) {
            result = data
        } else {
            // 否则是普通对象，直接for in循环，递归赋值对象的所有值
            result = {}
            for (let i in data) {
                result[i] = deepClone(data[i])
            }
        }
        // 如果不是对象的话，就是基本数据类型，那么直接赋值
    } else {
        result = data
    }
    // 返回最终结果
    return result
}

export function formatterTime(time) {
    const date = new Date(parseInt(time) * 1000)
    const format = '{y}-{m}-{d} {h}:{i}:{s}'
    const formatObj = {
        y: date.getFullYear(),
        m: date.getMonth() + 1,
        d: date.getDate(),
        h: date.getHours(),
        i: date.getMinutes(),
        s: date.getSeconds(),
        a: date.getDay()
    }
    const time_str = format.replace(/{(y|m|d|h|i|s|a)+}/g, (result, key) => {
        let value = formatObj[key]
        if (key === 'a') return ['一', '二', '三', '四', '五', '六', '日'][value - 1]
        if (result.length > 0 && value < 10) {
            value = '0' + value
        }
        return value || 0
    })
    return time_str
}
